//#include<bits/stdc++.h>
//#include<array>
//using namespace std;
//#define N 1000

//template<class T=int,size_t N=100>
//class Stack {
//private:
//	T _a[N];
//	int _top;
//	int _capacity;
//};
//int main() {
//	Stack<int,10> s1;
//	Stack<int,1000> s2;
//	Stack<> s3;
//	return 0;
//}

//int main() {
//	//array<int, 10> a1;
//	int a1[10];
//	a1[0] = 10;
//	a1[9] = 100;
//	/*a1[10] = 111;*/
//	cout << a1[10] << endl;
//	for (auto& e : a1) {
//		cout << e << " ";
//	}
//	cout << endl;
//	return 0;
//}

//int main() {
//	array<int, 10> a1;
//	a1.fill(1);
//	for (auto& e : a1) {
//		cout << e << " ";
//	}
//	cout << endl;
//	return 0;
//}
//int main() {
//	array<array<int, 5>, 10> aa;
//
//
//	return 0;
//}
//template<class T>
//bool Less(T x, T y) {
//	return x < y;
//}
//template<>
//bool Less<double*>(double* x,double* y) {
//	return *x < *y;
//}
//
//template<>
//bool Less<string*>(string* x,string* y) {
//	return *x < *y;
//}
//int main() {
//	cout << Less(1, 2) << endl;
//
//	double* p1 = new double(5.1);
//	double* p2 = new double(2.1);
//	cout << Less(p1, p2) << endl;
//
//	string* pp1 = new string("811");
//	string* pp2 = new string("222");
//	cout << Less(pp1, pp2) << endl;
//	return 0;
//}

//template<class T>
//bool Less(const T& x,const T& y) {
//	return x < y;
//}
//template<>
//bool Less<double*>(double* const & x,  double* const & y) {
//	return *x < *y;
//}
//
////template<>
////bool Less<string*>(string* x, string* y) {
////	return *x < *y;
////}
//int main() {
//	cout << Less(1, 2) << endl;
//
//	double* p1 = new double(5.1);
//	double* p2 = new double(2.1);
//	cout << Less(p1, p2) << endl;
//
//	string* pp1 = new string("811");
//	string* pp2 = new string("222");
//	cout << Less(pp1, pp2) << endl;
//	return 0;
//}


//template<class T1, class T2>
//class Data
//{
//public:
//	Data() { cout << "Data<T1, T2>" << endl; }
//	void f1() {}
//private:
//	T1 _d1;
//	T2 _d2;
//};
//
//template<>
//class Data<int,char>
//{
//public:
//	Data() { cout << "Data<int, char>" << endl; }
//
//};
//
//template<class T1>
//class Data<T1, char>
//{
//public:
//	Data() { cout << "Data<T1, char>" << endl; }
//
//};
//
//template<class T1,class T2>
//class Data<T1*,T2*>
//{
//public:
//	Data() { cout << "Data<T1*, T2*>" << endl; }
//	void f1() {
//		T1 x1;
//		cout << typeid(x1).name() << endl;
//
//		T1* x2;
//		cout << typeid(x2).name() << endl;
//	}
//
//};
//
//template<class T1, class T2>
//class Data<T1&, T2&>
//{
//public:
//	Data() { cout << "Data<T1&, T2&>" << endl; }
//	void f1() {
//		T1 x1;
//		cout << typeid(x1).name() << endl;
//
//		T1* x2;
//		cout << typeid(x2).name() << endl;
//	}
//
//};
//
//template<class T1, class T2>
//class Data<T1*, T2&>
//{
//public:
//	Data() { cout << "Data<T1*, T2&>" << endl; }
//	void f1() {
//		T1 x1;
//		cout << typeid(x1).name() << endl;
//
//		T1* x2;
//		cout << typeid(x2).name() << endl;
//	}
//
//};
//int main() {
//	Data<int, int> d1;
//	d1.f1();
//	Data<int, char> d2;
//	//d2.f1();
//	Data<char, char> d3;
//	Data<char*, char*> d4;
//	d4.f1();
//	Data<int*, char*> d5;
//	Data<int*, int*> d6;
//	Data<int&, int&> d7;
//	Data<int*, int&> d8;
//	return 0;
//}


//template<class T1, class T2>
//class Data
//{
//public:
//	Data() { cout << "Data<T1, T2>" << endl; }
//	void f1() {}
//private:
//	T1 _d1;
//	T2 _d2;
//};
//
//template<>
//class Data<int, char>
//{
//public:
//	Data() { cout << "Data<int, char>" << endl; }
//
//};

//template<class T1>
//class Data<T1, char>
//{
//public:
//	Data() { cout << "Data<T1, char>" << endl; }
//
//};
//
//template<class T1, class T2>
//class Data<T1*, T2*>
//{
//public:
//	Data() { cout << "Data<T1*, T2*>" << endl; }
//	void f1() {
//		T1 x1;
//		cout << typeid(x1).name() << endl;
//
//		T1* x2;
//		cout << typeid(x2).name() << endl;
//	}
//
//};
//
//template<class T1, class T2>
//class Data<T1&, T2&>
//{
//public:
//	Data() { cout << "Data<T1&, T2&>" << endl; }
//	void f1() {
//		T1 x1;
//		cout << typeid(x1).name() << endl;
//
//		T1* x2;
//		cout << typeid(x2).name() << endl;
//	}
//
//};
//
//template<class T1, class T2>
//class Data<T1*, T2&>
//{
//public:
//	Data() { cout << "Data<T1*, T2&>" << endl; }
//	void f1() {
//		T1 x1;
//		cout << typeid(x1).name() << endl;
//
//		T1* x2;
//		cout << typeid(x2).name() << endl;
//	}
//
//};
//int main() {
//	Data<int, int> d1;
//	d1.f1();
//	Data<int, char> d2;
//	//d2.f1();
//	Data<char, char> d3;
//	Data<char*, char*> d4;
//	d4.f1();
//	Data<int*, char*> d5;
//	Data<int*, int*> d6;
//	Data<int&, int&> d7;
//	Data<int*, int&> d8;
//	return 0;
//}
#include"fanc.h"
#include<bits/stdc++.h>
using namespace std;

int main() {
	FuncT(1);
	FuncF();
	return 0;
}